package com.itheima.service.system;

import com.github.pagehelper.PageInfo;
import com.itheima.domain.system.User;

import java.util.List;

public interface IUserService {

    /**
     * 查询所有部门列表
     *
     * @return PageInfo
     */
    PageInfo findAll(String companyId, int page, int size);

    /**
     * 通过id查询部门
     *
     * @param id
     * @return User
     */
    User findById(String id);

    /**
     * 保存部门
     *
     * @param user
     * @return null
     */
    void save(User user);

    /**
     * 跟新部门
     *
     * @param user
     * @return null
     */
    void update(User user);

    /**
     * 删除部门
     *
     * @param id
     * @return null
     */
    void delete(String id);

    /**
     * 查询所属企业的所有部门
     *
     * @param companyId
     * @return List<User>
     */
    List<User> findAll(String companyId);

    /**
     * 查询用户拥有的所有角色
     * @param id
     * @return List<String>
     */
    List<String> findUserRole(String id);

    /**
     * 根据邮箱查询用户
     *
     * @param email
     * @return User
     */
    User findByEmail(String email);

    //给用户分配角色
    void saveUserRole(String userId,String[]roleIds);

}
